package com.tanhua.server.interceptor;

/**
 * @Author: cl
 * @Date: 2022/5/2 - 05 - 02
 * @Description:
 */

import com.tanhua.model.domain.User;

/**
 * ThreadLocal工具类(存放和获取token)
 */
public class UserHolder {

    private static ThreadLocal<User> t = new ThreadLocal<>();


    /**
     * 保存用户到线程
     */
    public static void set(User user) {
        t.set(user);
    }

    /**
     * 获取线程中的user
     */
    public static User get() {
        return t.get();
    }

    /**
     * 从当前线程中获取用户的手机号
     */
    public static String getMobile() {
        if (t.get() != null) {
            return t.get().getMobile();
        }
        return null;
    }

    /**
     * 从当前线程中获取用户的id
     *
     */
    public static Long getUserId() {
        if (t.get() != null) {
            return t.get().getId();
        }
        return null;
    }

    /**
     * 移除当前线程中的数据(防止内存溢出)
     */
    public static void remove(){
        t.remove();
    }
}
